package com.ztesoft.web.baseconfig.db.dao.mapper;

import com.ztesoft.web.baseconfig.db.arg.DmTargetTableArg;
import com.ztesoft.web.baseconfig.db.po.DmStrategyPO;
import com.ztesoft.web.baseconfig.db.po.DmTargetTablePO;

import java.math.*;
import java.util.*;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface IDmTargetTableMapper {

	List<Integer> countByArg(DmTargetTableArg arg);

	List<DmTargetTablePO> selectByArg(DmTargetTableArg arg);

	List<DmTargetTablePO> selectBydmStrategyId(DmStrategyPO po);
	
	List<DmTargetTablePO> getTargetTableInfo(Integer id);

	List<DmTargetTablePO> selectBySourceDataId(Integer id);

	DmTargetTablePO selectByPrimaryKey(Integer id);

	DmTargetTablePO selectByTableName(String tableName);

	List<DmTargetTablePO> selectByArgAndPage(DmTargetTableArg arg, RowBounds rowBound);

	int insert(DmTargetTablePO record);

	int insertSelective(DmTargetTablePO record);

	int insertBatch(@Param("list") List<DmTargetTablePO> records);

	int updateByArgSelective(@Param("record") DmTargetTablePO record, @Param("arg") DmTargetTableArg arg);

	int updateByArg(@Param("record") DmTargetTablePO record, @Param("arg") DmTargetTableArg arg);

	int updateDToA(Integer id);

	int updateTo00X(Integer id);

	int updateByPrimaryKeySelective(DmTargetTablePO record);

	int updateByPrimaryKey(DmTargetTablePO record);

	int deleteByArg(DmTargetTableArg arg);

	int deleteByPrimaryKey(Integer id);

	List<Integer> selectLinkIdByTaskId(Integer taskId);

	List<DmTargetTablePO> selectAllByStrategyId(int strategyId);

	List<DmTargetTablePO> selectByDmPlanId(Integer dmPlanId);

	DmTargetTablePO selectBySourceId(Integer sourceDataId);

}